package com.meilai.project.service.system;

import com.baomidou.mybatisplus.extension.service.IService;
import com.meilai.project.entity.system.Router;
import com.meilai.project.vo.system.BTNRightVO;
import com.meilai.project.vo.system.RouterVO;
import com.meilai.project.vo.TreeVO;

import java.util.List;

/**
 * @author 张驰
 * @date 2020/9/10 17:35
 */
public interface RouterService extends IService<Router> {

    /**
     * 根据id网上查找
     * @param id
     * @return
     */
    List<Router> select2TopById(long id);

    /**
     * 拉取路由树，不含按钮
     */
    List<TreeVO> getRouterRights();
    /**
     * 拉取整个权限树，用于角色关联配置
     */
    List<TreeVO> getRights();
    /**
     * 根据用户Id，生成菜单路由
     * @param userId 用户Id
     */
    List<RouterVO> getRoutersByUserId(Long userId);

    List<RouterVO> findMenuByUserId(long userId);
    List<BTNRightVO> findBTNByUserId(long userId);

    /**
     * 根据用户Id，获取其所有按钮权限
     * @param userId 用户Id
     */
    List<BTNRightVO> getBTNRightByUserId(Long userId);
}
